﻿@{
  ViewBag.Title = "Быстрый старт";
}
<h2>
  Быстрый старт</h2>
<p>
  Это краткое справочное рукводсво по созданию своего "интеллекта" существа для соревнования
  <b>WarSpot</b></p>
<p>
  В разделе @Html.ActionLink("Файлов", "Index", "File") доступен актуальный готовый
  пример интеллекта, его достаточно только скомпилировать и загрузить на серверы <b>
    WarSpot</b>.</p>
<h3>
  Краткие правила</h3>
<p>
  <i>Пока доступен только один режим.</i><br />
</p>
<ul>
  <li><b>Мир</b> - дискретное поле фиксированных размеров с замыканием верхней границы
    на нижнюю и левой на паравую (топологически эквивалентно тору) </li>
  <li><b>Обработка событий</b> пошаговая<br />
    Цикл обработки одного шага
    <ol>
      <li>Опрос всех существ о желаемом действии в этот ход</li>
      <li>Попытка применения всех действий.
        <br />
        <font size="-2">
						Порядок обработки действий не гарантируется <br />
						Выполнение действий не гарантируется, т.к. ситуация в мире могла измениться, 
            например исчерпался источник энергии</font></li>
      <li>Очистка мира от погибших существ</li>
      <li>Проверка конца матча: остались существа только одной команды</li>
    </ol>
  </li>
</ul>
<p>
  Игрок должен предоставить .NET библиотеку, содержащую класс существа. Класс существа
  обязательно должен реализовывать интерфейс <a href="http://code.google.com/p/warspot/source/browse/trunk/WarSpot.Contracts.Intellect/IBeingInterface.cs"
    target="_blank"><tt>IBeingInterface</tt></a>. Первый метод <tt>Construct</tt>вызывается
  для создания существа, именно в нем задаются желаемые характеристики создаваемого
  экземпляра. Второй метод <tt>Think</tt> вызывается один раз за ход для каждого экземпляра.
  Параметрами является иформация о мире, возвращаемое значение должно быть действием.
  Действие - один из наследников абстрактного класса <a href="http://code.google.com/p/warspot/source/browse/trunk/WarSpot.Contracts.Intellect/Actions/GameAction.cs#17">
    <tt>GameAction</tt></a>. На данный момент доступны следующие действия:
  <ul>
    <li><tt>GameActionAtack</tt></li>
    <li><tt>GameActionEat</tt></li>
    <li><tt>GameActionGiveCi</tt></li>
    <li><tt>GameActionMove</tt></li>
    <li><tt>GameActionTreat</tt></li>
    <li><tt>GameActionMakeOffspring </tt></li>
  </ul>
</p>
<p>
  Определения всех необходимых типов находятся в библиотеке <b>WarSpot.Contracts.Intellect</b>,
  ее надо необходимо включать в References проекта интеллекта.</p>

<p>Код библиотеки <b>WarSpot.Contracts.Intellect</b> и тестового интеллекта снабжены подробными комментариями, которые помогут разобраться в деталях. Однако, если у вас возникнут вопросы, то обращайтесь. @Html.ActionLink("Контакты", "Contacts", "Home")</p>